home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1998 September / Macworld (1998-09).dmg / Shareware World / Info / For Developers / MacZoop 1.8.3 / Required Classes / Z Headers / CursorUtilities.h < prev    next >
Text File  |  1998-06-09  |  2KB  |  91 lines

  1. /*************************************************************************************************
  2. *
  3. *
  4. *        CursorUtilities.h            - cursor stuff- spinning watch, etc
  5. *
  6. *        26/9/94        ©1994, Graham Cox
  7. *
  8. *************************************************************************************************/
  9.  
  10. #pragma once
  11.  
  12. #ifndef __CURSORUTILITIES__
  13. #define __CURSORUTILITIES__
  14.  
  15. #include    <Retrace.h>
  16.  
  17. // animated cursor record
  18.  
  19. #if PRAGMA_ALIGN_SUPPORTED
  20. #pragma options align=mac68k
  21. #endif
  22.  
  23. typedef struct
  24. {
  25.     unsigned short    numCursors;
  26.     unsigned short    index;
  27.     CursHandle        cursors[1];
  28. }
  29. acur, *acurPtr, **acurHdl;
  30.  
  31. // modified task record
  32.  
  33. typedef struct
  34. {
  35.     VBLTask        theTask;
  36.     long        A5;
  37.     acurHdl        theCursor;
  38. }
  39. VBLTaskWithA5, *VBLTaskWithA5Ptr;
  40.  
  41. #if PRAGMA_ALIGN_SUPPORTED
  42. #pragma options align=reset
  43. #endif
  44.  
  45. // prototypes
  46. #ifdef __cplusplus
  47. extern "C"
  48. {
  49. #endif
  50.     
  51.     acurHdl        InitAnimatedCursor( short resID );
  52.     
  53.     void        StartCursorAnimation( short period, acurHdl theCursor );
  54.     void        StopCursorAnimation();
  55.     void        PauseCursorAnimation( short tempFixedCursorID );
  56.     void        ResumeCursorAnimation();
  57.     
  58.     void        AnimateCursor( short increment, acurHdl theCursor);
  59.     void        LockCursorData( acurHdl theCursor );
  60.     void        UnlockCursorData( acurHdl theCursor );
  61.  
  62.     #ifndef    __powerc
  63.         void        VBLCursorSpin();
  64.     #else
  65.         void        VBLCursorSpin( VBLTaskWithA5Ptr theTask );
  66.     #endif
  67.  
  68.     void        SetWatchCursor();
  69.     void        SetBeachBallCursor();
  70.     void        SetBusyArrowCursor();
  71.     short        GetModifiers();
  72.  
  73.     void        AppCursorInit();
  74.     Boolean        CursorAnimating();
  75.     Boolean        CursorAnimationVBLRunning();
  76.     
  77.     void        SetCursorShape( short resID );
  78.  
  79. #ifdef __cplusplus
  80. }
  81. #endif
  82.  
  83. // constants
  84.  
  85. #define        kWatchFrameCount    8
  86. #define        kWatchResID            129
  87. #define        kBeachBallResID        128
  88. #define        kBusyArrowResID        130
  89.  
  90. #endif
  91.